﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using InfFront.InfoViews.Base;
using InfFront.UICore;

namespace InfFront.InfoViews.WPF
{
    /// <summary>
    /// WPF UI Extension ("addon") provider interface
    /// </summary>
    public interface IExtensionProvider
    {
        /// <summary>
        /// Allows to provide custom ContentFrame for an InfoViewSource
        /// </summary>
        /// <param name="source">target InfoViewSource</param>
        /// <returns>New ready-to-use BaseSourceContentFrame to be just placed into the SourceFrame</returns>
        /// <returns>Must return null to make the default Content Frame selection mechanism to be used</returns>
        BaseSourceContentFrame CreateContentFrameFor(InfoViewSource source);
    }
}
